const express = require('express');
const app = express();
const path = require('path');
const { v4: uuid } = require('uuid');//使用uuid版本v4
const formidable = require('formidable');//引入文件上传模块
const fs = require('fs');
console.log(uuid());
app.listen(3000, () => { console.log('服务器已开启') });

app.use('/upload', (req, res) => {
    let form = formidable({
        uploadDir: path.join(__dirname, 'upload'),
        keepExtensions: true,//保留文件后缀名
    })

    // 解构form
    form.parse(req, (err, fileds, files) => {

        // 获取文件上传后的名字
        let oldName = files.photo.filepath;

        //使用uuid重命名并获取上传的后缀名++path.extname(oldName);
        let newName = uuid() + path.extname(oldName);

        //更新上传后的新名字
        let newPath = path.join(__dirname, 'upload', newName);

        //更改文件上传后的文件名
        fs.renameSync(oldName, newPath);

        //解构赋值取出size属性进行判断,判断文件是否有上传
        let { size } = files.photo;
        //如果大小等于0说明没有上传，return结束操作
        if (size == 0) { res.send('请上传文件'); return; }
        //如果有大小说明上传成功
        res.send('上传成功')
    })
})
